Skip to content

Spatial Indexing#3

Merged
ryanstocks00 merged 38 commits intomainfrom
spatial_index
Apr 21, 2026
Merged

Spatial Indexing#3
ryanstocks00 merged 38 commits intomainfrom
spatial_index

Conversation

@ryanstocks00
Copy link
Copy Markdown
Contributor

No description provided.

@codecov
Copy link
Copy Markdown

codecov Bot commented Nov 7, 2025

Codecov Report

❌ Patch coverage is 95.27105% with 82 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/spatial_index.hpp 85.76% 41 Missing ⚠️
src/las_header.hpp 79.06% 9 Missing ⚠️
src/las_reader.hpp 92.85% 9 Missing ⚠️
src/vlr.hpp 60.00% 8 Missing ⚠️
src/utilities/printing.hpp 83.33% 7 Missing ⚠️
src/laz/stream.hpp 80.00% 5 Missing ⚠️
src/laz/tests/test_laszip_interop.cpp 98.76% 1 Missing ⚠️
src/tests/test_writer_copy_from_reader.cpp 99.61% 1 Missing ⚠️
src/utilities/thread_pool.hpp 96.96% 1 Missing ⚠️
Flag Coverage Δ
unittests 93.42% <95.27%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/example_custom_las_point.hpp 100.00% <ø> (ø)
src/las_point.hpp 44.25% <ø> (ø)
src/las_writer.hpp 95.68% <100.00%> (ø)
src/laz/bytes14_encoder.hpp 100.00% <100.00%> (ø)
src/laz/chunktable.hpp 100.00% <ø> (ø)
src/laz/layered_stream.hpp 100.00% <ø> (ø)
src/laz/laz_reader.hpp 87.50% <ø> (ø)
src/laz/laz_writer.hpp 90.47% <ø> (ø)
src/laz/symbol_encoder.hpp 100.00% <100.00%> (ø)
src/laz/tests/test_bytes14_encoder.cpp 100.00% <100.00%> (ø)
... and 16 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment thread src/las_reader.hpp Outdated
Comment thread src/las_reader.hpp Outdated
Comment thread src/spatial_index.hpp
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for reading/writing LAStools (.lax / EVLR) quadtree spatial indexes and integrates it into copy/conversion workflows, while also refactoring parallelism utilities, printing helpers, and build configuration.

Changes:

  • Introduce QuadtreeSpatialIndex and add LASReader/LASWriter support for detecting, copying, and optionally generating LAStools spatial index EVLRs.
  • Replace <execution>-based parallel loops with an internal thread-pool approach, including a new parallel reduction helper.
  • Add printing helpers (indentation + limited map printing), new tests, and adjust CMake/CI to improve cross-compiler compatibility.

Reviewed changes

Copilot reviewed 32 out of 32 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
src/vlr.hpp Improves VLR/EVLR printing and adds helpers to identify LAStools spatial index records.
src/utilities/thread_pool.hpp Adds parallel_for_reduction and related includes/utilities.
src/utilities/tests/test_printing.cpp Adds tests for new printing helpers.
src/utilities/printing.hpp Adds Indented/LimitedMap wrappers and std::map streaming support.
src/utilities/assert.hpp Adjusts seek macro warnings and headers/includes.
src/tests/test_writer_copy_from_reader.cpp Adds coverage for writer copy-from-reader and spatial index behavior.
src/tests/test_transform_accessors.cpp Adds tests for new non-const Transform accessors.
src/tests/test_reader_constructors.cpp Adds tests for reader constructors and .lax discovery/precedence behavior.
src/tests/test_reader.cpp Adds tests for interval→chunk mapping and reading non-contiguous chunk lists.
src/tests/test_bound2d.cpp Adds tests for new Bound2D.
src/spatial_index.hpp New LAStools spatial index implementation (read/write + cell computations).
src/laz/tests/test_spatial_index.cpp Adds LAZ-side tests for spatial index functionality.
src/laz/tests/test_laszip_interop.cpp Updates Transform usage to new API.
src/laz/stream.hpp Tightens bounds-checked reads and seek behavior for pointer-backed streams.
src/laz/laz_writer.hpp Adds handling for (unsupported) LAZ item type Byte14 and removes <execution>.
src/laz/laz_reader.hpp Adds handling for (unsupported) LAZ item type Byte14.
src/laz/layered_stream.hpp Formatting/initialization tweak for the empty-layer buffer.
src/laz/chunktable.hpp Fixes #pragma pack(pop) placement.
src/las_writer.hpp Adds copy-from-reader and spatial index writing; refactors parallel copy/stats to thread-pool utilities.
src/las_reader.hpp Adds spatial index detection (EVLR + .lax), stream-parallel LAZ chunk reads, and interval/chunk helpers.
src/las_point.hpp Minor include cleanup.
src/las_header.hpp Introduces Bound2D, adds Transform accessors, and exposes points-by-return helper.
src/example_custom_las_point.hpp Adds missing standard includes for example point type.
cmake/SetupLazperf.cmake Makes warning suppression flags compiler-specific (GCC vs Clang).
cmake/SetupLaszip.cmake Makes warning suppression flags compiler-specific (GCC vs Clang).
apps/validate_spatial_index.cpp New CLI tool to validate spatial index correctness vs points.
apps/las2las++.cpp Updates CLI to use copy-from-reader and optionally add spatial index.
apps/inspect_vlrs.cpp New CLI tool to inspect VLR/EVLRs and spatial index details.
apps/create_test_file.cpp Updates Transform usage to new API.
apps/CMakeLists.txt Builds/installs new CLI tools and adds MSVC /bigobj handling.
CMakeLists.txt Scopes strict flags/aggressive opts to top-level project; MSVC /bigobj for tests.
.github/workflows/cmake-multi-platform.yml Removes Clang OpenMP install step.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/utilities/printing.hpp
Comment thread src/vlr.hpp
Comment thread src/utilities/assert.hpp
Comment thread src/las_writer.hpp Outdated
Comment thread src/las_writer.hpp Outdated
Comment thread src/las_header.hpp
Comment thread src/vlr.hpp
Comment thread src/vlr.hpp
Comment thread src/spatial_index.hpp
Comment thread src/las_writer.hpp Outdated
ryanstocks00 and others added 5 commits March 8, 2026 22:15
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented Apr 3, 2026

Up to standards ✅

🟢 Issues 34 medium

Results:
34 new issues

Category Results
BestPractice 12 medium
ErrorProne 2 medium
Complexity 20 medium

View in Codacy

🟢 Metrics 308 complexity · 107 duplication

Metric Results
Complexity 308
Duplication 107

View in Codacy

TIP This summary will be updated as you push new changes. Give us feedback

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 35 out of 35 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/utilities/assert.hpp
Comment thread src/utilities/thread_pool.hpp
Comment thread src/utilities/printing.hpp
Comment thread src/utilities/printing.hpp
Comment thread src/spatial_index.hpp
Comment thread src/las_writer.hpp Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 35 out of 35 changed files in this pull request and generated 7 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/laz/bytes14_encoder.hpp Outdated
Comment thread src/laz/tests/test_bytes14_encoder.cpp Outdated
Comment thread src/las_writer.hpp Outdated
Comment thread src/las_reader.hpp Outdated
Comment thread apps/validate_spatial_index.cpp Outdated
Comment thread src/tests/test_writer_copy_from_reader.cpp
Comment thread src/laz/tests/test_spatial_index.cpp
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 35 out of 35 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/validate_spatial_index.cpp
Comment thread CMakeLists.txt
Comment thread src/las_writer.hpp
Comment thread apps/validate_spatial_index.cpp
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 35 out of 35 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/spatial_index.hpp
Comment thread src/spatial_index.hpp
Comment thread src/spatial_index.hpp Outdated
Comment thread src/las_reader.hpp
Comment thread src/las_reader.hpp
Comment thread src/laz/stream.hpp Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 35 out of 35 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ryanstocks00 ryanstocks00 merged commit c3a244d into main Apr 21, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants